<?php
class gestionController extends Controller{
	
	public function index(){
		$this->set('title','Site Web - Gestions des services du restaurant');
	}
	
	public function getListeMenu(){
		$model = $this->loadModel('ServiceManager');
		return $model->getListeMenu($_SESSION['id_utilisateur']);
	}
	
	public function getListeChambre(){
		if($_SESSION['type_utilisateur']=='Hotel'){
			$model = $this->loadModel('ServiceManager');
			return $model->getListeChambre($_SESSION['id_utilisateur']);
		}
	}
	public function ajouterMenu(){
		$erreurs = array();
		$model = $this->loadModel('ServiceManager');
		$id_professionnel = $_SESSION['id_utilisateur'];
		$nom = $_POST['nom'];
		$type = $_POST['type'];
		$prix = $_POST['prix'];
		if(is_numeric($prix) && $prix>0){
			if( ! $model->menuExist($id_professionnel,$nom,$type,$prix)){
				$donnee = $model->addMenu($id_professionnel,$nom,$type,$prix);
				if(empty($donnee))
					$erreurs['erreur'] = 'Des erreurs sont survénuent lors de l\'ajout du menu, Veuillez récommencer . '
					;
			} else {
				$erreurs['erreur'] = 'Cet menu existe déjà dans votre carte .';
			}
		} else {
			$erreurs['erreur'] = 'Le prix du menu doit être un nombre positif et non null .';
		}
		return $erreurs;
	}
	
	public function ajouterChambre(){
		$erreurs = array();
		$model = $this->loadModel('ServiceManager');
		$id_professionnel = $_SESSION['id_utilisateur'];
		$type = $_POST['type']!='' ? $_POST['type'] : $_POST['type2'];
		$prix_min = $_POST['prix_min'];
		$prix_max = $_POST['prix_max'];
		$nombre_total = $_POST['nombre_total'];
		if(is_numeric($prix_min) && $prix_min>0){
			if(is_numeric($prix_max) && $prix_min>0){
				if(is_numeric($nombre_total) && $nombre_total>0){
					if(is_string($type) && strlen($type)>1){
						if(! $model->chambreExist($id_professionnel,$type,$prix_min,$prix_max,$nombre_total)){
							$donnee = $model->addChambre($id_professionnel,$type,$prix_min,$prix_max,$nombre_total);
							
						} else {
							$erreurs['erreur'] = 'Cet enregistrement existe déjà ! vous pouvez le mettre à jour à tout 
							moment .';
						}
					} else {
						$erreurs['erreur'] = 'Le type de chambre est être une chaine d\'au moins 2 caractères .';
					}
					
				} else {
					$erreurs['erreur'] = 'Le nombre total de chambres doit être positif et non null .';
				}
			} else {
				$erreurs['erreur'] = 'Le prix maximum doit être un nombre positif et non null .';	
			}
		} else {
			$erreurs['erreur'] = 'Le prix minimum doit être un nombre positif et non null .';	
		}
		return $erreurs;
	}
	public function supprimerMenu(){
		$model = $this->loadModel('ServiceManager');
		$listeId = array();
		$tab = array_keys($_POST);
		$regex = "#^chexbox[0-9]+$#";
		if(isset($_POST['supprimerMenu'])){
			for($i=0;$i<count($tab);$i++){
				$courant = $tab[$i];
				if(preg_match($regex,$courant)){
					$id = intval(str_replace('chexbox','',$courant));
					$listeId[] = $id;
				}
			}
			$model->supprimerMenu($listeId);
		}
	}
	
	public function supprimerChambre(){
		$model = $this->loadModel('ServiceManager');
		$listeId = array();
		$tab = array_keys($_POST);
		$regex = "#^chexbox[0-9]+$#";
		if(isset($_POST['supprimerChambre'])){
			for($i=0;$i<count($tab);$i++){
				$courant = $tab[$i];
				if(preg_match($regex,$courant)){
					$id = intval(str_replace('chexbox','',$courant));
					$listeId[] = $id;
				}
			}
			$model->supprimerChambre($listeId);
		}
	}
	
	public function getHoraire(){
		$model = $this->loadModel('utilisateurManager');
		return $model->getHoraireResto($_SESSION['id_utilisateur']);	
	}
	
	public function updateHorairesResto(){
		$model = $this->loadModel('ServiceManager');
		$lundi = $_POST['lundi_o'].'/'.$_POST['lundi_f'];
		$mardi = $_POST['mardi_o'].'/'.$_POST['mardi_f'];
		$mercredi = $_POST['mercredi_o'].'/'.$_POST['mercredi_f'];
		$jeudi = $_POST['jeudi_o'].'/'.$_POST['jeudi_f'];
		$vendredi = $_POST['vendredi_o'].'/'.$_POST['vendredi_f'];
		$samedi = $_POST['samedi_o'].'/'.$_POST['samedi_f'];
		$dimanche = $_POST['dimanche_o'].'/'.$_POST['dimanche_f'];
		$model->updateHoraire($lundi,$mardi,$mercredi,$jeudi,$vendredi,$samedi,$dimanche);
	}
	public function updateOptionHotel(){
		$model = $this->loadModel('ServiceManager');
		$tab = array();
		if(isset($_POST['updateOptionHotel'])){
			$tab['tv'] = isset($_POST['tv']) ? $_POST['tv'] : "";
			$tab['wifi'] = isset($_POST['wifi']) ? $_POST['wifi'] : "";
			$tab['internet'] = isset($_POST['internet']) ? $_POST['internet'] : "";
			$tab['acces_handicapes'] = isset($_POST['acces_handicapes']) ? $_POST['acces_handicapes'] : "";
			$tab['garage'] = isset($_POST['garage']) ? $_POST['garage'] : "";
			$tab['parking'] = isset($_POST['parking']) ? $_POST['parking'] : "";
			$tab['piscine_couverte'] = isset($_POST['piscine_couverte']) ? $_POST['piscine_couverte'] : "";
			$tab['climatisation'] = isset($_POST['climatisation']) ? $_POST['climatisation'] : "";
			$tab['seminaire'] = isset($_POST['seminaire']) ? $_POST['seminaire'] : "";
			$tab['etape_affaire'] = isset($_POST['etape_affaire']) ? $_POST['etape_affaire'] : "";
			$tab['salle_gym'] = isset($_POST['salle_gym']) ? $_POST['salle_gym'] : "";
			$tab['lieu_calme'] = isset($_POST['lieu_calme']) ? $_POST['lieu_calme'] : "";
			$tab['proche_transport'] = isset($_POST['proche_transport']) ? $_POST['proche_transport'] : "";
			$tab['animaux_acceptes'] = isset($_POST['animaux_acceptes']) ? $_POST['animaux_acceptes'] : "";
			$tab['id_hotel'] = $_SESSION['id_utilisateur'];
			return $model->updateOptionHotel($tab);
			
		}
	}
	public function updateOptionRestaurant(){
		$model = $this->loadModel('ServiceManager');
		$tab = array();
		$tab['repas_amoureux'] = isset($_POST['repas_amoureux']) ? $_POST['repas_amoureux'] : "";
		$tab['repas_affaire'] = isset($_POST['repas_affaire']) ? $_POST['repas_affaire'] : "";
		$tab['entre_amis'] = isset($_POST['entre_amis']) ? $_POST['entre_amis'] : "";
		$tab['ambiance_festive'] = isset($_POST['ambiance_festive']) ? $_POST['ambiance_festive'] : "";
		$tab['sortie_famille'] = isset($_POST['sortie_famille']) ? $_POST['sortie_famille'] : "";
		$tab['anniversaire'] = isset($_POST['anniversaire']) ? $_POST['anniversaire'] : "";
		$tab['lieu_calme'] = isset($_POST['lieu_calme']) ? $_POST['lieu_calme'] : "";
		$tab['rencontres'] = isset($_POST['rencontres']) ? $_POST['rencontres'] : "";
		$tab['acces_handicapes'] = isset($_POST['acces_handicapes']) ? $_POST['acces_handicapes'] : "";
		$tab['anglais_parle'] = isset($_POST['anglais_parle']) ? $_POST['anglais_parle'] : "";
		$tab['wifi'] = isset($_POST['wifi']) ? $_POST['wifi'] : "";
		$tab['climatisation'] = isset($_POST['climatisation']) ? $_POST['climatisation'] : "";
		$tab['id_restaurant'] = $_SESSION['id_utilisateur'];
		return $model->updateOptionRestaurant($tab);
	}
	public function getOptionHotel(){
		$model = $this->loadModel('ServiceManager');
		return $model->getOptionHotel($_SESSION['id_utilisateur']);
	}
	
	public function getOptionRestaurant(){
		$model = $this->loadModel('ServiceManager');
		return $model->getOptionRestaurant($_SESSION['id_utilisateur']);
	}
}